/**
 * 商品图片查询
 * 
 * @param {}
 *            orderId
 * @return {}
 */
var showGoodsPicturePage = function() {
	var showGoodsPictureForm = new Ext.form.FormPanel({
				id : 'showGoodsPictureForm',
				anchor : '100% 12%',
				frame : true,
				title : '查询条件',
				bodyBorder : false,
				buttonAlign : 'center',
				labelAlign : 'right',
				keys : [{
							key : 13, // 13代表回车
							fn : queryshowGoodsPicture,
							scope : this
						}],
				items : [{
					layout : 'column',
					border : false,
					items : [{
								columnWidth : .25,
								layout : 'form',
								border : false,
								items : [{
											id : 'goodsPic_goodsId',
											xtype : 'goodsCmb',
											fieldLabel : "商品名称",
											allowBlank : true,
											hiddenName : 'goodsId',
											showValue : true,
											existall : true,
											defaultFirstRow : 1,
											statusArr : [0, 1]
										}]
							},{
								columnWidth : .25,
								layout : 'form',
								border : false,
								items : [{
											id : 'goodsPic_applySource',
											xtype : 'dataDictionaryCmb',
											anchor : '100%',
											fieldLabel : '适用来源',
											hiddenName : "applySource",
											editable : false,
											autoLoad : false,
											existall : true,
											defaultFirstRow : 1,
											dictionaryType : PmsUtil.applySource
										}]
							}, {

								columnWidth : .25,
								layout : 'form',
								border : false,
								items : [{
									layout : 'column',
									border : false,
									items : [{
												text : '查询',
												xtype : 'button',
												width : 80,
												handler : function() {
													queryshowGoodsPicture();
												},
												style : {
													marginLeft : "100px",
													marginRight : "10px"
												}
											}, {
												text : '重置',
												xtype : 'button',
												width : 80,
												handler : function() {
													Ext
															.getCmp('showGoodsPictureForm')
															.getForm().reset();
												}
											}]
								}]

							}]
				}]
			});
	fieldSetListeners(['showGoodsPictureForm', 'showGoodsPictureGrid'], [0.12,
					0.88]);
	return showGoodsPictureForm;
};

/**
 * 商品尺寸
 * 
 * @param {}
 *            contractId
 * @return {}
 */
var showGoodsPictureGrid = function() {

	var column = new Ext.grid.ColumnModel({
		columns : [new Ext.grid.RowNumberer({
							width : 35
						}), {
					dataIndex : "id",
					width : 50,
					header : '图片编号'
				}, {
					header : "图片名",
					dataIndex : "picName",
					width : 100
				}, {
					header : "商品名称",
					dataIndex : "goodsName",
					width : 100
				}, {
					header : "商品图片",
					dataIndex : "picPath",
					width : 60,
					renderer : function(value) {
						return PmsUtil.ShowPicture(value);
					}
				}, {
					header : "适用来源",
					dataIndex : "applySource",
					width : 60,
					renderer : function(value) {
						return PmsUtil.ApplySource(value);
					}
				}, {
					header : "排序",
					dataIndex : "picOrder",
					width : 40,
					editor : {
						xtype : 'textfield'
					}
				}, {
					header : "删除状态",
					dataIndex : "isDelete",
					width : 50,
					renderer : function(value) {
						return PmsUtil.IsDafault(value);
					}
				}, {
					header : '创建时间',
					width : 100,
					dataIndex : 'createdDate'
				}, {
					header : "创建人",
					dataIndex : "createdName",
					width : 60
				}, {
					header : "管理",
					width : 140,
					dataIndex : "id",
					sortable : false,
					renderer : function(j, i, g, m, h) {
						var l = g.data.id;
						var isDelete = g.data.isDelete;
						var isDefault = g.data.isDefault;

						var k = "";
						if (isGranted("goodsPic_修改图片")) {
							if (isDelete == 0) {
								k += '&nbsp;&nbsp;<a href="#" onclick="updGoodsPic('
										+ l + ');" >修改</a>';
							}
						}
						if (isGranted("goodsPic_删除图片")) {
							if (isDelete == 0) {
								k += '&nbsp;&nbsp;<a href="#" onclick="updIsDelete('
										+ l + ',1);" >删除</a>';
							}
						}
						return k;
					}
				}],
		defaults : {
			remoteSort : false,
			menuDisabled : false,
			width : 100
		}
	});

	// 定义grid的toolbar
	var showGoodsPictureTb = new Ext.Toolbar({
				id : "showGoodsPictureTb",
				height : 25,
				items : []
			});

	showGoodsPictureTb.add(new Ext.scm.Button({
				text : "添加图片",
				width : 80,
				iconCls : "btn-add",
				hsValue : 'goodsPic_添加图片',
				pressed : true,
				listeners : {
					"click" : function() {
						addGoodsPic();
					}
				}
			}));

	showGoodsPictureTb.add(new Ext.Toolbar.Spacer());
	showGoodsPictureTb.add(new Ext.scm.Button({
				text : "排序批量修改",
				iconCls : "btn-edit",
				width : 80,
				pressed : true,
				hsValue : "goodsPic_批量修改",
				listeners : {
					"click" : function() {
						updGoodsPicture();
					}
				}
			}));
	showGoodsPictureTb.add(new Ext.Toolbar.Spacer());
	showGoodsPictureTb.add(new Ext.scm.Button({
				text : "刷 新",
				iconCls : "btn-refresh",
				width : 80,
				hsValue : 'goodsPic_刷新',
				pressed : true,
				handler : function() {
					queryshowGoodsPicture();
				}
			}));

	var showGoodsPictureStroe = new Ext.data.Store({
				autoLoad : true,// 要加载数据必须设置为true
				proxy : new Ext.data.HttpProxy({
							method : 'POST',
							url : __ctxPath + "/goodsManager/queryGoodsPics"
						}),
				remoteSort : false,
				baseParams : {
					start : 0,
					limit : 25
				},
				listeners : {
					beforeload : {
						fn : function(thiz, options) {
							Ext.apply(thiz.baseParams, Ext
											.getCmp('showGoodsPictureForm')
											.getForm().getValues());
						}
					}
				},
				reader : new Ext.data.JsonReader({
							totalProperty : "totalCount",// 分页器上显示总数
							root : "list",
							fields : [{
										name : "id"
									}, {
										name : "picName"
									}, {
										name : "goodsName"
									}, {
										name : "goodsCode"
									}, {
										name : "picPath"
									}, {
										name : "picOrder"
									}, {
										name : "isDelete"
									}, {
										name : "createdDate"
									}, {
										name : "createdName"
									}, {
										name : "applySource"
									}]
						})
			});
	showGoodsPictureStroe.addListener('load', function() {
				// 控制按钮是否显示
				// collateStandBtnIsShow(collateStandContractStatus);
			});
	var showGPGrid = new Ext.grid.EditorGridPanel({
				id : 'showGoodsPictureGrid',
				title : '商品图片信息',
				anchor : '100% 88%',
				store : showGoodsPictureStroe,
				stripeRows : true,
				columnLines : true,
				clicksToEdit : 1,
				cm : column,
				loadMask : true,
				tbar : showGoodsPictureTb,
				loadMask : {
					msg : "正在加载数据，请稍侯……"
				},
				viewConfig : {
					forceFit : true,
					autoFill : true,
					emptyText : '没有您想要的数据'
				},
				bbar : new PG.PagingBar({
							id : 'showGoodsPicturePage',
							store : showGoodsPictureStroe
						})
			});
	return showGPGrid;
};

// 查询
function queryshowGoodsPicture() {
	var form = Ext.getCmp("showGoodsPictureForm");
	if (form.getForm().isValid()) {
		var grid = Ext.getCmp("showGoodsPictureGrid");
		var store = grid.store;
		var pagesize = Ext.getCmp('showGoodsPicturePage').pageSize;
		store.load({
					params : {
						start : 0,
						limit : pagesize
					}
				});
	}
}

// 删除
function updIsDelete(id, isDelete) {
	Ext.Msg.confirm("信息确认", "是否删除该条商品图片信息?", function(btn) {
				if (btn == "yes") {
					var optionMask = new Ext.LoadMask(Ext.getBody(), {
								msg : "正在处理,请稍后..."
							});
					optionMask.show();
					Ext.Ajax.request({
								url : __ctxPath
										+ "/goodsManager/updPicIsDelete",
								params : {
									id : id,
									isDelete : isDelete
								},
								method : "post",
								success : function(response) {
									optionMask.hide();
									var jsonData = Ext.util.JSON
											.decode(response.responseText);
									if (jsonData.success) {
										Ext.MessageBox.show({
													title : "信息提示",
													msg : jsonData.data,
													buttons : Ext.MessageBox.OK,
													icon : Ext.MessageBox.INFO
												});
										queryshowGoodsPicture();
									} else {
										Ext.MessageBox.show({
													title : "错误提示",
													msg : jsonData.data,
													buttons : Ext.MessageBox.OK,
													icon : Ext.MessageBox.ERROR
												});
									}
								},
								failure : function(response) {
									optionMask.hide();
									Ext.MessageBox.show({
												title : "操作信息",
												msg : "服务器请求异常,请稍后再试!",
												buttons : Ext.MessageBox.OK,
												icon : Ext.MessageBox.ERROR
											});
								}
							});
				}
			});
}

// 添加
function addGoodsPic(goodsId) {
	try {
		addOrUpdGoodsPic(null, "添加商品图片", goodsId).show();
	} catch (Error) {
		Ext.Loader.load([__ctxPath + '/js/goods/addOrUpdGoodsPic.js'],
				function() {
					addOrUpdGoodsPic(null, "添加商品图片", goodsId).show();
				});
	}
}

// 修改
function updGoodsPic(id) {
	try {
		addOrUpdGoodsPic(id, "修改商品图片").show();
	} catch (Error) {
		Ext.Loader.load([__ctxPath + '/js/goods/addOrUpdGoodsPic.js'],
				function() {
					addOrUpdGoodsPic(id, "修改商品图片").show();
				});
	}
}

/**
 * 修改排序
 */
function updGoodsPicture() {
	var modiRecords = Ext.getCmp("showGoodsPictureGrid").getStore()
			.getModifiedRecords();
	if (modiRecords.length == 0) {
		saveMask.hide();
		Ext.MessageBox.show({
					title : '提示',
					msg : '当前没有数据修改',
					buttons : Ext.MessageBox.OK,
					icon : Ext.MessageBox.WARNING
				});
		return;
	};

	var goodsPicUpdArr = new Array();
	for (var i = 0; i < modiRecords.length; i++) {
		var temrecord = new Ext.data.Record();
		temrecord.set("id", modiRecords[i].data.id);
		temrecord.set("picOrder", modiRecords[i].data.picOrder);
		goodsPicUpdArr.push(temrecord.data);
	}
	var jsonList = Ext.encode(goodsPicUpdArr);

	Ext.Msg.confirm("信息确认", "是否批量修改商品图片排序？", function(btn) {
				if (btn == 'yes') {
					var optionMask = new Ext.LoadMask(Ext.getBody(), {
								msg : "正在处理,请稍后..."
							});
					optionMask.show();
					Ext.Ajax.request({
								url : __ctxPath
										+ "/goodsManager/updateGoodsPicOrder",
								params : {
									jsonList : Ext.util.Format.htmlDecode(Ext
											.encode(goodsPicUpdArr)).trim()
								},
								method : "post",
								success : function(response) {
									optionMask.hide();
									var jsonData = Ext.util.JSON
											.decode(response.responseText);
									if (jsonData.success) {
										Ext.MessageBox.show({
													title : "信息提示",
													msg : jsonData.data,
													buttons : Ext.MessageBox.OK,
													icon : Ext.MessageBox.INFO
												});
										queryshowGoodsPicture();
									} else {
										Ext.MessageBox.show({
													title : "错误提示",
													msg : jsonData.data,
													buttons : Ext.MessageBox.OK,
													icon : Ext.MessageBox.ERROR
												});
									}
								},
								failure : function(response) {
									optionMask.hide();
									Ext.MessageBox.show({
												title : "操作信息",
												msg : "服务器请求异常,请稍后再试!",
												buttons : Ext.MessageBox.OK,
												icon : Ext.MessageBox.ERROR
											});
								}
							});
				}
			});
}

Ext.getCmp("centerTabPanel").getActiveTab().add(showGoodsPicturePage(),
		showGoodsPictureGrid());
Ext.getCmp("centerTabPanel").getActiveTab().doLayout();